package com.project.poetry.service.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.poetry.service.entity.dto.job.JobDTO;
import com.project.poetry.service.entity.po.job.JobPO;

/**
 * @author mengxj
 */
public interface JobService {

    /**
     * 创建任务
     * @param job 任务
     */
    void saveJob(JobPO job);

    /**
     * 修改任务
     * @param job 任务
     */
    void updateJob(JobPO job);

    /**
     * 暂停任务
     * @param jobId 任务id
     */
    void pauseJob(Long jobId);

    /**
     * 恢复任务
     * @param jobId 任务id
     */
    void resumeJob(Long jobId);

    /**
     * 删除任务
     * @param jobId 任务id
     */
    void deleteJob(Long jobId);

    /**
     * 直接启动任务
     * @param jobId 任务id
     */
    void run(Long jobId);

    /**
     * 查询job列表
     * @param job 查询条件
     * @return job列表
     */
    IPage<JobPO> list(JobDTO job);
}
